home *** CD-ROM | disk | FTP | other *** search
/ PC Answers 1995 May / PC Answers CD-ROM 7 (Future Publishing) (May 1995).iso / vbits / demos / qbs / lead / leadtool.exe / LEADVIEW.MS_ / LEADVIEW.MS
Encoding:
Text File  |  1994-10-21  |  6.6 KB  |  214 lines

  1. '**************************************************************************
  2. '*                       LEADVIEW 3.0 for Windows 
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST APPHELP       = 900
  18. CONST BADPATH       = 6400
  19. CONST ABOUT         = 1100
  20. ''Bitmap ID
  21. CONST LOGO = 2
  22.  
  23. GLOBAL DEST$        ''Default destination directory.
  24. GLOBAL OPTCUR$      ''Option selection from option dialog.
  25.  
  26. DECLARE SUB Install
  27. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  28.  
  29.  
  30. INIT:
  31.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  32.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  33.  
  34.     SetBitmap CUIDLL$, LOGO
  35.     SetTitle "LEADTOOLS EVAL 4.0 for Windows Setup"
  36.  
  37.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  38.     IF szInf$ = "" THEN
  39.         szInf$ = GetSymbolValue("STF_CWDDIR") + "leadview.INF"
  40.     END IF
  41.     ReadInfFile szInf$
  42.  
  43.     OPTCUR$ = "1"
  44.     DEST$ = "C:\LEADeval"
  45.  
  46. '$IFDEF DEBUG
  47.     i% = SetSizeCheckMode(scmOff)    '' could use scmOff; def = scmOnFatal
  48.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  49.     IF IsDriveValid(WinDrive$) = 0 THEN
  50.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  51.         GOTO QUIT
  52.     END IF
  53. '$ENDIF ''DEBUG
  54.  
  55.  
  56. WELCOME:
  57.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  58.     IF sz$ = "CONTINUE" THEN
  59.         UIPop 1
  60.     ELSE
  61.         GOSUB ASKQUIT
  62.         GOTO WELCOME
  63.     END IF
  64.  
  65. GETPATH:
  66.     SetSymbolValue "EditTextIn", DEST$
  67.     SetSymbolValue "EditFocus", "END"
  68.  
  69. GETPATHL1:
  70.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  71.     DEST$ = GetSymbolValue("EditTextOut")
  72.  
  73.     IF sz$ = "CONTINUE" THEN
  74.         IF IsDirWritable(DEST$) = 0 THEN
  75.             GOSUB BADPATH
  76.             GOTO GETPATHL1
  77.         END IF
  78.         UIPop 1
  79.     ELSEIF sz$ = "REACTIVATE" THEN
  80.         GOTO GETPATHL1
  81.     ELSEIF sz$ = "BACK" THEN
  82.         UIPop 1
  83.         GOTO WELCOME
  84.     ELSE
  85.         GOSUB ASKQUIT
  86.         GOTO GETPATH
  87.     END IF
  88.  
  89.     Install
  90.  
  91. QUIT:
  92.  
  93.     ON ERROR GOTO ERRQUIT
  94.  
  95.     IF ERR = 0 THEN
  96.         dlg% = EXITSUCCESS
  97.     ELSEIF ERR = STFQUIT THEN
  98.         dlg% = EXITQUIT
  99.     ELSE
  100.         dlg% = EXITFAILURE
  101.     END IF
  102.  
  103. QUITL1:
  104.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  105.     IF sz$ = "REACTIVATE" THEN
  106.         GOTO QUITL1
  107.     END IF
  108.     UIPop 1
  109.  
  110.     END
  111.  
  112. ERRQUIT:
  113.     i% = DoMsgBox("Setup sources were corrupted, call 549-5532!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  114.     END
  115.  
  116. BADPATH:
  117.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  118.     IF sz$ = "REACTIVATE" THEN
  119.         GOTO BADPATH
  120.     END IF
  121.     UIPop 1
  122.     RETURN
  123.  
  124. ASKQUIT:
  125.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  126.  
  127.     IF sz$ = "EXIT" THEN
  128.         UIPopAll
  129.         ERROR STFQUIT
  130.     ELSEIF sz$ = "REACTIVATE" THEN
  131.         GOTO ASKQUIT
  132.     ELSE
  133.         UIPop 1
  134.     END IF
  135.     RETURN
  136.  
  137. '**
  138. '** Purpose:
  139. '**     Builds the copy list and performs all installation operations.
  140. '** Arguments:
  141. '**     none.
  142. '** Returns:
  143. '**     none.
  144. '*************************************************************************
  145. SUB Install STATIC
  146.  
  147.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  148.     CreateDir DEST$, cmoNone
  149.  
  150.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  151.     WriteToLogFile ""
  152.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  153.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  154.     WriteToLogFile ""
  155.     WriteToLogFile "May have had to create the directory: " + DEST$
  156.     WriteToLogFile ""
  157.  
  158.     WinDir$ = GetWindowsDir
  159.     WinSystemDir$ = MakePath(GetWindowsDir,"system")
  160.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  161.     CopyFilesInCopyList
  162.  
  163.     CreateIniKeyValue "WIN.INI", "Extensions", "CMP", "LEADEVAL.EXE ^.CMP ", cmoNone
  164.     CreateIniKeyValue "WIN.INI", "Extensions", "JPG", "LEADEVAL.exe ^.JPG ", cmoNone
  165.     CreateIniKeyValue "WIN.INI", "Extensions", "JFF", "LEADEVAL.exe ^.JFF ", cmoNone
  166.     CreateIniKeyValue "WIN.INI", "Extensions", "JTF", "LEADEVAL.exe ^.JTF ", cmoNone
  167.     CreateIniKeyValue "WIN.INI", "Extensions", "TIF", "LEADEVAL.exe ^.TIF ", cmoNone
  168.     CreateIniKeyValue "WIN.INI", "Extensions", "BMP", "LEADEVAL.exe ^.BMP ", cmoNone
  169.     CreateIniKeyValue "WIN.INI", "Extensions", "TGA", "LEADEVAL.exe ^.TGA ", cmoNone
  170.     CreateIniKeyValue "WIN.INI", "Extensions", "GIF", "LEADEVAL.exe ^.GIF ", cmoNone
  171.     CreateIniKeyValue "WIN.INI", "Extensions", "PCX", "LEADEVAL.exe ^.PCX ", cmoNone
  172.     CreateIniKeyValue "WIN.INI", "Extensions", "WMF", "LEADEVAL.exe ^.WMF ", cmoNone
  173.     CreateIniKeyValue "WIN.INI", "Extensions", "CAL", "LEADEVAL.exe ^.CAL ", cmoNone
  174.  
  175.     CreateProgmanGroup "LEAD EVAL for Windows", "", cmoNone
  176.     ShowProgmanGroup  "LEAD EVAL for Windows", 1, cmoNone
  177.     CreateProgmanItem "LEAD EVAL for Windows", "LEAD EVAL 4.0 for Windows", MakePath(DEST$,"leadeval.exe"), "", cmoOverwrite
  178.     CreateProgmanItem "LEAD EVAL for Windows", "DEMO Example", MakePath(DEST$,"demo.exe"), "", cmoOverwrite
  179.     CreateProgmanItem "LEAD EVAL for Windows", "SCROLL & ZOOM Example", MakePath(DEST$,"scrlzoom.exe"), "", cmoOverwrite
  180.     CreateProgmanItem "LEAD EVAL for Windows", "LEAD WndClass Example", MakePath(DEST$,"regclass.exe"), "", cmoOverwrite
  181.     CreateProgmanItem "LEAD EVAL for Windows", "Paint Effect Example", MakePath(DEST$,"painteff.exe"), "", cmoOverwrite
  182.     CreateProgmanItem "LEAD EVAL for Windows", "Read ME First", "Write.exe "+MakePath(DEST$,"Readme.wri"), "", cmoOverwrite
  183.     RUN "Write.exe "+MakePath(DEST$,"Readme.wri")
  184.  
  185.  
  186.     CloseLogFile
  187.  
  188. END SUB
  189.  
  190.  
  191.  
  192. '**
  193. '** Purpose:
  194. '**     Appends a file name to the end of a directory path,
  195. '**     inserting a backslash character as needed.
  196. '** Arguments:
  197. '**     szDir$  - full directory path (with optional ending "\")
  198. '**     szFile$ - filename to append to directory
  199. '** Returns:
  200. '**     Resulting fully qualified path name.
  201. '*************************************************************************
  202. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  203.     IF szDir$ = "" THEN
  204.         MakePath = szFile$
  205.     ELSEIF szFile$ = "" THEN
  206.         MakePath = szDir$
  207.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  208.         MakePath = szDir$ + szFile$
  209.     ELSE
  210.         MakePath = szDir$ + "\" + szFile$
  211.     END IF
  212. END FUNCTION
  213.  
  214.